package com.hr.mes.service;

import com.hr.mes.dto.Page;
import com.hr.mes.entity.Role;
import com.hr.mes.vo.AuthVO;

import java.util.List;

public interface RoleService {

    /**
     * 新增角色时不涉及授权，新增完成之后再授权
     * @param role
     */
    void addRole(Role role);

    /**
     * 给角色授权
     * @param authVO
     */
    void auth(AuthVO authVO);

    void deleteRole(Integer roleId);

    void updateRole(Role role);

    /**
     * 获取角色，附带权限列表
     * @param roleId
     * @return
     */
    Role getRole(Integer roleId);

    /**
     * 获取所有角色，展示用
     */
    Page<Role> getRoleList(Integer pageNo, Integer pageSize);

    /**
     * 获取所有可用的角色，分配角色用
     * @return
     */
    List<Role> getAvailableRoleList();

}
